export {}

// function fn<T>(value: T[]): T[] {
//     // 这里value. 不会有提示
//     value.
//     console.log(value.length)// 这里会报错
//     return value
// }
interface ILength { length: number, push:any}
function fn<T extends ILength>(value: T): T {
    // 这里value. 不会有提示
    // value.
    console.log(value.length)// 这里会报错
    return value
}
fn({length:100,push:'xxx'})
  
fn('a')
fn([1,2,3])